#1.16
#%d表示十进制输出，%o表示八进制输出
num=15
num2=11
print("%d"%num)#输出结果是15
print("%o"%num)#输出结果是17

#format
print('{}:{}'.format('结果为',num2))#用大括号表示格式化输出的内容，不考虑格式
#format暗含了变量的顺序
print('{1},{0}'.format(11,15))#大括号内的数字表示format内的变量顺序
print("{1},{0},{1}".format(11,15))#会输出15,11,15
print("{numx},{str1}".format(str1='hello world',numx=11))#输出11,hello world
#f输出法
print(f'第一个数字是{num},第二个数字是{num2}')#只需注意前后引号不能相同

#1）转义字符
"""\n表示换行
\t表示制表（tab）即四个空格
以下都是特殊符号在想要输出时加\转义
\\表示\
\'表示’
\"表示"
"""
print('\\ \'')#输出\ '（如果不多加一个\就无法打印出\和'），想要打印",'和\就必须在前面加上一个\
str_n= "hello\nworld"
print(str_n)#hello和world中间会换行.py,很神奇吧
#这也说明py的字符串类型是支持中间插入转义字符的
#2)py的一些运算符
"""+,-,*,%完全相同
/是除法，而//是整除
**是乘方
"""
print(2**3)#结果是8

#赋值运算符：与c的差别也不大
#同样，只有==才是等于号
num2+=num#等效于num2=num2+num
print(num2)#结果是26
#其他赋值运算是同理的
#注意：py是可以多个变量同时赋值的
int1,float1,str1=1,1.0,'hello world'#这在py是合法的，但是在c得写成int int1=1;float float1=1.0,string str1="hello world"
#类型转换
a=123
print(str(a))#会以字符串类型输出123，方式与效果都等价于c中的显式类型转换
#证明确实是以str形式输出
print(type(a))     #输出<class 'int'>
print(type(str(a)))#输出<class 'str'>
#得证
#同理
b='123'
print(type(b))#输出<class 'str'>
print(type(int(b)))#输出<class 'int'>
#float等等同理
